package com.rslai.commons.util.xmind.pojo;

import com.rslai.commons.util.xmind.enums.MarkerEnum;

import java.util.List;

/**
 * Attached 节点对象（保存主题、子主题的信息）
 */
public class Attached {
    private String id; // 该节点的 ID，随机产生不允许指定
    private String title; // 该节点的标题
    private String notes; // 该节点的备注
    private List<MarkerEnum> markers; // 该节点的 图标（marker）列表
    private List<String> labels; // 该节点的标签（label）列表
    private boolean folded; // 是否折叠主题。true:折叠主题，子主题仅显示为 +图标。false:展开主题，默认展开主题
    private Image image;
    private List<Attached> children; // 该节点的子节点列表

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getNotes() {
        return notes;
    }

    public void setNotes(String notes) {
        this.notes = notes;
    }

    public List<Attached> getChildren() {
        return children;
    }

    public void setChildren(List<Attached> children) {
        this.children = children;
    }

    public List<MarkerEnum> getMarkers() {
        return markers;
    }

    public void setMarkers(List<MarkerEnum> markers) {
        this.markers = markers;
    }

    public List<String> getLabels() {
        return labels;
    }

    public void setLabels(List<String> labels) {
        this.labels = labels;
    }

    public Image getImage() {
        return image;
    }

    public void setImage(Image image) {
        this.image = image;
    }

    public boolean isFolded() {
        return folded;
    }

    public void setFolded(boolean folded) {
        this.folded = folded;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("Attached{");
        sb.append("id='").append(id).append('\'');
        sb.append(", title='").append(title).append('\'');
        sb.append(", notes='").append(notes).append('\'');
        sb.append(", markers=").append(markers);
        sb.append(", labels=").append(labels);
        sb.append(", folded=").append(folded);
        sb.append(", image=").append(image);
        sb.append(", children=").append(children);
        sb.append('}');
        return sb.toString();
    }
}
